﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BLL.Project
{
    interface IProjectService
    {
        void SaveProject(Models.Projects project);

        bool DeleteProjectById(int id);

        bool UpdateProject(Models.Projects project);

        Models.Projects GetProjectById(int id);

        List<Models.Projects> GetList(ref int totalCount, int pageIndex = 1, int pageSize = 12, string orderBy = "CreatedAt Desc");

        List<Models.Projects> GetList(ref int totalCount, string[] tag, int pageIndex = 1, int pageSize = 12, string orderBy = "CreatedAt Desc");

        List<Models.Projects> GetList(ref int totalCount, int userId, int pageIndex = 1, int pageSize = 12, string orderBy = "CreatedAt Desc");

        List<Models.Projects> GetListOfApply(ref int totalCount, int userId, int pageIndex = 1, int pageSize = 12, string orderBy = "CreatedAt Desc");

        List<Models.Projects> QueryIsLiked(int uid, List<Models.Projects> artworks);

        Models.Projects QueryIsLiked(int uid, Models.Projects artwork);

    }
}
